import UIKit

/**
 B站: https://www.bilibili.com/video/BV144411C7Gg?p=6

 第6课内容
    1. if语句
    2. 可选项绑定
    3. 隐式展开
 */

//1. if 语句
var a = ("hello", true)
var b = ("hello", true)
//var b = ("hello", false)

if (a == b) {
    print("a == b")
}
else {
    print("a != b")
}


var aa = "hello"
var bb = "world"
print(aa == bb ? "相等" : "不等")

//---------------------------------------------------------------
//2. 可选项绑定
//let c:Int? = 10
let c:Int? = nil

if let value = c {
    print("value的值 =", value)
}
else {
    print("a的值 = nil")
}



// 可以用，但是会有警告，，本来就是 有值的(不会为nil)，这么写无意义
// 因为这个写法，就是为了 解决 可选类型的是否 有值
//if let valueB:(String, Bool) = a {
//    print("222 value的值 =", valueB)
//}
//else {
//    print("a的值 = nil")
//}

//print("value=", value)
// 说明上面 的 let value, 不会变成代码块的 局部变量，是方法内的 局部变量


//---------------------------------------------------------------
//3. 隐式展开

// 定义的 类型是否，强制解析可选项的
let aaa:Int! = 10

// 被赋值的 变量，没有指定类型的，会变成 可选项类型
let bbb = aaa

// 指定类型的，会变成 普通的定义变量
let ccc:Int = aaa

print(bbb)
print(ccc)

